/* REXX (CREATED BY ELEQTRIZI'T) */ /* Modified by DigiTalis on 06/08/00 */ /* Modified by earth on 11/01/2000 for ATTAC TCP/IP Helper - http://www.tw-attac.com */ /* Original script had a bug in the haggling that it didnt realize that it finished */ keep= ZocRequest("What are we buying here?", "Fuel Ore", "Organics", "Equipment") if keep= "Equipment" then do CALL ZocRespond "Equipment do you want", "^M" CALL ZocRespond "Organics do you want", "0^M" CALL ZocRespond "Ore do you want", "0^M" leaveit= "tnl3^Mq" end if keep= "Organics" then do CALL ZocRespond "Equipment do you want", "0^M" CALL ZocRespond "Organics do you want", "^M" CALL ZocRespond "Ore do you want", "0^M" leaveit= "tnl2^Mq" end if keep= "Fuel Ore" then do CALL ZocRespond "Equipment do you want", "0^M" CALL ZocRespond "Organics do you want", "0^M" CALL ZocRespond "Ore do you want", "^M" leaveit= "tnl1^Mq" end CALL ZocTimeout 3600 DO 10000 CALL ZocSend "pt" call zocwait "our offer [" offer1=GETITALL(0,0) z=SELLHAGGLE(offer1) call zocwait "Command [" call zocsend "l" result= ZocWaitMux(" <", "Planet command") SELECT WHEN result=0 THEN x="1" WHEN result=1 THEN x="2" end if x=1 then do call zocwait ">" planet=zoclastline() call zocsend planet call zocsend "^M" end call zocsend leaveit notenoughspace=0 result= ZocWaitMux("n't have room for that many on the plane") SELECT WHEN result=0 THEN notenoughspace=1 end if notenoughspace=1 then do Call ZocBeep(2) Call Zocnotify "There is not enough room on the planet" signal endit end call zocwait "Command" END endit: exit GETITALL: holdfinal="" call zocwait "]" holds=zoclastline() DO addchar=1 to length(holds) holdsit=substr(holds,addchar,1) if holdsit<>"]" then DO if holdsit<>"," then holdfinal=holdfinal||holdsit end END RETURN holdfinal SELLHAGGLE: offer1=arg(1) haggle106=offer1%(94/100)-1 haggle106=trunc(haggle106,0) haggle105=offer1%(95/100)-1 haggle105=trunc(haggle105,0) haggle104=offer1%(96/100)-1 haggle104=trunc(haggle104,0) haggle103=offer1%(97/100)-1 haggle103=trunc(haggle103,0) haggle102=offer1%(98/100)-1 haggle102=trunc(haggle102,0) haggle101=offer1%(99/100)-1 haggle101=trunc(haggle101,0) call zocsend haggle105 call zocsend "^M" a=3 DO WHILE a<>0 result= ZocWaitMux("We'll buy them for", "You have", "we're not int", "final offer") SELECT WHEN result=0 THEN x=1 WHEN result=1 THEN x=2 WHEN result=2 THEN x=3 WHEN result=3 THEN x=4 end if x=1 then DO if a=4 then do call zocsend haggle105 call zocsend "^M" end if a=3 then do call zocsend haggle104 call zocsend "^M" end if a=2 then do call zocsend haggle103 call zocsend "^M" end if a=1 then do call zocsend haggle102 call zocsend "^M" end if a=0 then do call zocsend haggle101 call zocsend "^M" end a=a-1 end if x=2 then do a=0 return(0) end if x=3 then do return(0) dead=1 end if x=4 then do call zocsend haggle103 call zocsend "^M" return(0) end END RETURN(0) exit